.TH std::weak_ptr::reset 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::weak_ptr::reset \- std::weak_ptr::reset

.SH Synopsis
   void reset() noexcept;  \fI(since C++11)\fP

   Releases the reference to the managed object. After the call *this manages no
   object.

.SH Parameters

   \fI(none)\fP

.SH Return value

   \fI(none)\fP

.SH Example


// Run this code

 #include <iostream>
 #include <memory>

 int main()
 {
     auto shared = std::make_shared<int>(), shared2 = shared, shared3 = shared2;

     auto weak = std::weak_ptr<int>{shared};

     std::cout << std::boolalpha
               << "shared.use_count(): " << shared.use_count() << '\\n'
               << "weak.use_count(): " << weak.use_count() << '\\n'
               << "weak.expired(): " << weak.expired() << '\\n';

     weak.reset();

     std::cout << "weak.reset();\\n"
               << "shared.use_count(): " << shared.use_count() << '\\n'
               << "weak.use_count(): " << weak.use_count() << '\\n'
               << "weak.expired(): " << weak.expired() << '\\n';
 }

.SH Output:

 shared.use_count(): 3
 weak.use_count(): 3
 weak.expired(): false
 weak.reset();
 shared.use_count(): 3
 weak.use_count(): 0
 weak.expired(): true

.SH See also

   expired checks whether the referenced object was already deleted
           \fI(public member function)\fP
